package org.lanqiao.tjut.bzhlDemo;

import org.junit.Test;

public class TestDriver {
	/*
	 * 因为8中基本类型不符合面向对象的范畴。
	 * 为8中基本类型分别建立了8个与之对应的类，这个8个与基本类型对应的类就叫做包装类。
	 * 使用包装类定义的变量满足实例对象的特性。
	 * 默认值为null. 可以使用new创建等等。
	 * 
	 * 注意：String、基本类型、包装类类型之间的相互转换。
	 * 基本类型-->String 默认转换
	 * 基本类型-->包装类类型   装箱
	 * 包装类类型-->基本类型   拆箱
	 * String<--->包装类类型   对象类型之间的转换
	 */
	@Test
	public void testBZH() {
		//int 基本类型
		int i = 0;
		//int包装类类型的 Integer变量
		//装箱   将基本类型 i 转换为了  Integer的包装类类型
		Integer iI = new Integer(i);
		//拆箱  将Integer包装类类型转换为 int基本类型
		int ii= iI.intValue();
		
		//string -- 包装类类型、基本类型
		String str = "128";
		int i0 = Integer.valueOf(str);
		int i1 = Integer.valueOf(str, 16);
		System.out.println("i0="+i0+";i1="+i1);
		
		int i2 = Integer.parseInt(str);
		
		//自动装箱 -- 类型自动转换
		Integer iI1 = 1;
		System.out.println("子函数调用之前："+iI1);
		doTh(iI1);
		System.out.println("子函数调用之后："+iI1);
	}
	/**
	 * 验证传参方式
	 * @param iI
	 */
	private void doTh(Integer iI){
		iI = iI+1;
		System.out.println("子函数改变形参值："+iI);
	}
}
